Using detail-in-context lenses for accurate digital image cropping and measurement

ABSTRACT

A method for cropping a computer generated original image on a display, comprising the steps of: adjusting a user-selected movable boundary on the original image to define a cropped image within the boundary, the boundary defined by two or more points on the original image; and, distorting the original image in regions surrounding the points, whereby the boundary is accurately positioned for cropping. And, a method for measuring within a computer generated original image on a display, comprising the steps of: adjusting a user-selected movable line segment on the original image to define points on the original image for measuring between; and, distorting the original image in regions surrounding the points, whereby the points are accurately positioned for measuring.

This application is a continuation of U.S. patent application Ser. No.10/614,754, filed Jul. 8, 2003, the disclosure of which is incorporatedherein by reference.

This application claims priority from Canadian Patent Application Nos.2,393,708 and 2,394,119 filed Jul. 16, 2002, and Jul. 18, 2002,respectively, the disclosures of which are incorporated herein byreference.

This invention relates to the field of computer graphics processing, andmore specifically, to a method and system for accurate digital imagecropping and measurement using detail-in-context lenses and adetail-in-context graphical user interface (“GUI”).

BACKGROUND OF THE INVENTION

In computer graphics systems, users often wish to exclude portions of animage presented to them on a display screen. This operation is called“cropping”. To perform a cropping operation or crop, a user typicallyselects two points to define a rectangle (e.g. top left and bottom rightcorners) enclosing a selected portion of the original image. The portionof the original image outside of the rectangle is then excluded orcropped and an image of the selected portion alone, that is, a croppedimage, is presented to the user.

One problem with present cropping methods is that a user may havedifficulty selecting a desirable cropped image. Thus, a user may have torepeat the cropping operation several times in order to achieve thedesired result.

One solution to this problem is suggested by Kasson in U.S. Pat. No.5,473,740. Kasson describes a cropping method in which the cropped orexcluded area of the image is blanked-out during the process ofadjusting the rectangle defining the selected area. According to Kasson,the excluded portion of the image distracts the user and makes it moredifficult to visualize the cropped image. In Kasson, a user moves amouse to position a cursor on the original image and depresses the mousepushbutton to designate a first corner (x₁, y₁) of the initially desiredrectangular cropped image. The mouse is then manually moved and thesequentially updated position of the cursor instantaneously defines asecond corner (x₂, y₂) diagonally opposite the first corner. All thetime the mouse is moved and its pushbutton still depressed asequentially varying area potential cropped image and a correspondinglysized obscured portion are displayed. If the user is satisfied with theaesthetics of the current cropped image, the user releases the mousepushbutton, moves the cursor within the boundaries of the currentcropped image and double clicks in order to select this cropped imagefor further processing, such as inclusion into a document beingconcurrently displayed in another window. Alternatively, any two of x₁,y₁, x₂ and y₂ can be updated by positioning the cursor over one of thefour corners of the rectangular boundary of the current cropped image,depressing the mouse pushbutton, and holding it down while the cursor ismoved.

Another solution was suggested by Cariffe, et al., in U.S. Pat. No.6,201,548. Cariffe, et al. describe a cropping method in which after thecropped image has been formed and is displayed in a new window, thewindow containing the original image is also maintained and may beviewed concurrently with the cropped image. Moreover, the windowcontaining the original image is preferably automatically minimized,that is, reduced in size to what is called an “iconified” version of theoriginal, but may subsequently be restored to full size. If subsequentcomparison by the user of both the original and cropped imagesside-by-side show an unwanted result, the cropping operation may then berepeated on the image in the original image window, which preferablydoes not get modified in any way by single or multiple sequentialcropping operations.

However, while Kasson and Cariffer, et al. describe cropping methodsthat may provide a user with a desired cropped image after severaliterations, neither of these methods provides for the accuratepositioning of the bounds of the cropped image at the outset. Thus, andespecially for large image presentations such as digital maps, a usermay still have to repeat the cropping operation several times in orderto accurately crop the original image. For example, while a user may usewell-known “panning” and “zooming” tools to view one corner of therectangle defining the selected portion of an original image in order torelocate that corner, in doing so, the relative location of the secondcorner of the rectangle may be lost to the user or the user may find itdifficult to determine what portion of the original image is beingobserved. In other words, while the user may have gained a detailed viewof a region of the original image that is of interest, the user may losesight of the context within which that region is positioned. This is anexample of what is often referred to as the “screen real estateproblem”.

A need therefore exists for an improved method and system for accuratedigital image cropping. In addition, a need exist for an improved methodand system for accurately selecting points in digital images for editingoperations such as cropping and for related operations such as distancemeasurement. Consequently, it is an object of the present invention toobviate or mitigate at least some of the above mentioned disadvantages.

SUMMARY OF THE INVENTION

According to one aspect of the invention, there is provided a method forcropping a computer generated original image on a display, comprisingthe steps of: adjusting a user-selected movable boundary on the originalimage to define a cropped image within the boundary, the boundarydefined by two or more points on the original image; and, distorting theoriginal image in regions surrounding the points, whereby the boundaryis accurately positioned for cropping.

Preferably, the step of distorting further includes the steps of:creating a lens surface for one or more of the regions; and,transforming the original image by applying a distortion functiondefining the lens surface to the original image.

Preferably, the step of creating further includes the step of displayinga GUI over one or more of the regions for adjusting the lens surface.

Preferably, the lens surface includes a focal region and a base regionand the GUI includes: a slide bar icon for adjusting a magnification forthe lens surface; a slide bar icon for adjusting a degree of scoopingfor the lens surface; a bounding rectangle icon with at least one handleicon for adjusting a size and a shape for the focal region; a boundingrectangle icon with at least one handle icon for adjusting a size and ashape for the base region; a move icon for adjusting a location for thelens surface on the boundary; a pickup icon for adjusting a location forthe base region within the original image; and, a fold icon foradjusting a location for the focal region relative to the base region.

Preferably, the adjusting is performed by moving a cursor on the displaywith a pointing device, the cursor is an icon, the pointing device is amouse, and the movable boundary is a polygon.

Preferably, the original image has one or more layers, the regions havea predetermined selection of these layers, and the cropped image has apredetermined selection of these layers.

Advantageously, by using detail-in-context lenses to select pointsdefining an area for a cropped image, a user can view a large area (i.e.outside the lenses) while focusing in on smaller areas (i.e. inside thefocal regions of the lenses) surrounding the selected points. This makesit possible for a user to perform accurate cropping without losingvisibility or context of the portion of the original image surroundingthe cropped area.

According to another aspect of the invention, there is provided a methodfor measuring within a computer generated original image on a display,comprising the steps of: adjusting a user-selected movable line segmenton the original image to define points on the original image formeasuring between; and, distorting the original image in regionssurrounding the points, whereby the points are accurately positioned formeasuring.

Preferably, the step of distorting further includes the steps of:creating a lens surface for one or more of the regions; and,transforming the original image by applying a distortion functiondefining the lens surface to the original image.

Preferably, the step of creating further includes the step of displayinga GUI over one or more of the regions for adjusting the lens surface.

Preferably, the lens surface includes a focal region and a base regionand the GUI includes: a slide bar icon for adjusting a magnification forthe lens surface; a slide bar icon for adjusting a degree of scoopingfor the lens surface; a bounding rectangle icon with at least one handleicon for adjusting a size and a shape for the focal region; a boundingrectangle icon with at least one handle icon for adjusting a size and ashape for the base region; a move icon for adjusting a location for thelens surface on the boundary; a pickup icon for adjusting a location forthe base region within the original image; and, a fold icon foradjusting a location for the focal region relative to the base region.

Preferably, the adjusting is performed by moving a cursor on the displaywith a pointing device, the cursor is an icon, the pointing device is amouse, and the line segment is a straight line.

Advantageously, by using detail-in-context lenses to select points formeasuring between, a user can view a large area (i.e. outside thelenses) while focusing in on smaller areas (i.e. inside the focalregions of the lenses) surrounding the selected points. This makes itpossible for a user to perform accurate measuring without losingvisibility or context of the portion of the original image surroundingthe points. Moreover, because the selected points are contained withinthe focal region of each lens, which may be displayed at a higherresolution that the surrounding presentation, the measured value may bedetermined more accurately.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of the invention may best be understood by referring to thefollowing description and accompanying drawings. In the description anddrawings, like numerals refer to like structures or processes. In thedrawings:

FIG. 1 is a graphical representation of the geometry for constructing athree-dimensional (3D) perspective viewing frustum, relative to an x, y,z coordinate system, in accordance with known elastic presentation spacegraphics technology;

FIG. 2 is a graphical representation of the geometry of a presentationin accordance with known elastic presentation space graphics technology;

FIG. 3 is a block diagram illustrating a data processing system adaptedfor implementing an embodiment of the invention;

FIG. 4 a partial screen capture illustrating a GUI having lens controlelements for user interaction with detail-in-context data presentationsin accordance with an embodiment of the invention;

FIG. 5 is a screen capture illustrating a presentation having twodetail-in-context lenses and associated GUIs for defining the corners ofa bounding rectangle GUI for cropping an original digital image orrepresentation in accordance with an embodiment of the invention;

FIG. 6 is a screen capture illustrating a presentation havingdetail-in-context lenses, associated GUIs, and a bounding rectangle GUIor icon for cropping an original digital image or representation toproduce a cropped image in accordance with an embodiment of theinvention;

FIG. 7 is a screen capture illustrating a presentation havingdetail-in-context lenses and associated GUIs for selecting pointsbetween which to measure in an original digital image or representationin accordance with an embodiment of the invention;

FIG. 8 is a screen capture illustrating a presentation having twodetail-in-context lenses, associated GUIs, and a measuring tool GUI fordisplaying the measurement between selected points in an originaldigital image or representation in accordance with an embodiment of theinvention;

FIG. 9 is a screen capture illustrating a presentation having a singledetail-in-context lens and associated GUI for defining the corners of abounding rectangle GUI for cropping an original digital image orrepresentation in accordance with an embodiment of the invention;

FIG. 10 is a screen capture illustrating a presentation having a singledetail-in-context lens, an associated GUI, and a bounding rectangle GUIor icon for cropping an original digital image or representation toproduce a cropped image in accordance with an embodiment of theinvention;

FIG. 11A is a screen capture illustrating a presentation having a singledetail-in-context lens and an associated GUI for selecting pointsbetween which to measure in an original digital image or representationin accordance with an embodiment of the invention;

FIG. 11B is a screen capture illustrating a presentation having a singledetail-in-context lens, an associated GUI, and a measuring tool GUI fordisplaying the measurement between two selected points in an originaldigital image or representation in accordance with an embodiment of theinvention;

FIG. 11C is a screen capture illustrating a presentation having a singledetail-in-context lens, an associated GUI, and a measuring tool GUI fordisplaying the measurement between multiple selected points in anoriginal digital image or representation in accordance with anembodiment of the invention;

FIG. 12 is a flow chart illustrating a method for cropping a computergenerated original image on a display in accordance with an embodimentof the invention; and,

FIG. 13 is a flow chart illustrating a method for measuring within acomputer generated original image on a display in accordance with anembodiment of the invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

In the following description, numerous specific details are set forth toprovide a thorough understanding of the invention. However, it isunderstood that the invention may be practiced without these specificdetails. In other instances, well-known software, circuits, structuresand techniques have not been described or shown in detail in order notto obscure the invention. The term “data processing system” is usedherein to refer to any machine for processing data, including thecomputer systems and network arrangements described herein.

The “screen real estate problem” mentioned above generally ariseswhenever large amounts of information are to be displayed on a displayscreen of limited size. As discussed, well-known tools to address thisproblem include panning and zooming. While these tools are suitable fora large number of visual display applications, they become lesseffective where sections of the visual information are spatiallyrelated, such as in maps, three-dimensional representations, andnewspapers, for example. In this type of information display, panningand zooming are not as effective as much of the context of the panned orzoomed display may be hidden.

A recent solution to this problem is the application of“detail-in-context” presentation techniques. Detail-in-context is themagnification of a particular region-of-interest (the “focal region” or“detail”) in a data presentation while preserving visibility of thesurrounding information (the “context”). This technique hasapplicability to the display of large surface area media (e.g. digitalmaps) on computer screens of variable size including graphicsworkstations, laptop computers, personal digital assistants (“PDAs”),and cell phones.

In the detail-in-context discourse, differentiation is often madebetween the terms “representation” and “presentation”. A representationis a formal system, or mapping, for specifying raw information or datathat is stored in a computer or data processing system. For example, adigital map of a city is a representation of raw data including streetnames and the relative geographic location of streets and utilities.Such a representation may be displayed visually on a computer screen orprinted on paper. On the other hand, a presentation is a spatialorganization of a given representation that is appropriate for the taskat hand. Thus, a presentation of a representation organizes such thingsas the point of view and the relative emphasis of different parts orregions of the representation. For example, a digital map of a city maybe presented with a region magnified to reveal street names.

In general, a detail-in-context presentation may be considered as adistorted view (or distortion) of a portion of the originalrepresentation where the distortion is the result of the application ofa “lens” like distortion function to the original representation. Adetailed review of various detail-in-context presentation techniquessuch as “Elastic Presentation Space” (“EPS”) (or “Pliable DisplayTechnology” (“PDT”)) may be found in a publication by Marianne S. T.Carpendale, entitled “A Framework for Elastic Presentation Space”(Carpendale, Marianne S. T., A Framework for Elastic Presentation Space(Burnaby, British Columbia: Simon Fraser University, 1999)), andincorporated herein by reference.

In general, detail-in-context data presentations are characterized bymagnification of areas of an image where detail is desired, incombination with compression of a restricted range of areas of theremaining information (i.e. the context), the result typically givingthe appearance of a lens having been applied to the display surface.Using the techniques described by Carpendale, points in a representationare displaced in three dimensions and a perspective projection is usedto display the points on a two-dimensional presentation display. Thus,when a lens is applied to a two-dimensional continuous surfacerepresentation, for example, the resulting presentation appears to bethree-dimensional. In other words, the lens transformation appears tohave stretched the continuous surface in a third dimension. In EPSgraphics technology, a two-dimensional visual representation is placedonto a surface; this surface is placed in three-dimensional space; thesurface, containing the representation, is viewed through perspectiveprojection; and the surface is manipulated to effect the reorganizationof image details. The presentation transformation is separated into twosteps: surface manipulation or distortion and perspective projection.

FIG. 1 is a graphical representation 100 of the geometry forconstructing a three-dimensional (“3D”) perspective viewing frustum 220,relative to an x, y, z coordinate system, in accordance with knownelastic presentation space (EPS) graphics technology. In EPS technology,detail-in-context views of two-dimensional (“2D”) visual representationsare created with sight-line aligned distortions of a 2D informationpresentation surface within a 3D perspective viewing frustum 220. InEPS, magnification of regions of interest and the accompanyingcompression of the contextual region to accommodate this change in scaleare produced by the movement of regions of the surface towards theviewpoint (“VP”) 240 located at the apex of the pyramidal shape 220containing the frustum. The process of projecting these transformedlayouts via a perspective projection results in a new 2D layout whichincludes the zoomed and compressed regions. The use of the thirddimension and perspective distortion to provide magnification in EPSprovides a meaningful metaphor for the process of distorting theinformation presentation surface. The 3D manipulation of the informationpresentation surface in such a system is an intermediate step in theprocess of creating a new 2D layout of the information.

FIG. 2 is a graphical representation 200 of the geometry of apresentation in accordance with known EPS graphics technology. EPSgraphics technology employs viewer-aligned perspective projections toproduce detail-in-context presentations in a reference view plane 201which may be viewed on a display. Undistorted 2D data points are locatedin a basal plane 210 of a 3D perspective viewing volume or frustum 220which is defined by extreme rays 221 and 222 and the basal plane 210.The VP 240 is generally located above the centre point of the basalplane 210 and reference view plane (“RVP”) 201. Points in the basalplane 210 are displaced upward onto a distorted surface 230 which isdefined by a general 3D distortion function (i.e. a detail-in-contextdistortion basis function). The direction of the viewer-alignedperspective projection corresponding to the distorted surface 230 isindicated by the line FPo-FP 231 drawn from a point FPo 232 in the basalplane 210 through the point FP 233 which corresponds to the focus orfocal region or focal point of the distorted surface 230.

EPS is applicable to multidimensional data and is well suited toimplementation on a computer for dynamic detail-in-context display on anelectronic display surface such as a monitor. In the case of twodimensional data, EPS is typically characterized by magnification ofareas of an image where detail is desired 233, in combination withcompression of a restricted range of areas of the remaining information(i.e. the context) 234, the end result typically giving the appearanceof a lens 230 having been applied to the display surface. The areas ofthe lens 230 where compression occurs may be referred to as the“shoulder” 234 of the lens 230. The area of the representationtransformed by the lens may be referred to as the “lensed area”. Thelensed area thus includes the focal region and the shoulder. Toreiterate, the source image or representation to be viewed is located inthe basal plane 210. Magnification 233 and compression 234 are achievedthrough elevating elements of the source image relative to the basalplane 210, and then projecting the resultant distorted surface onto thereference view plane 201. EPS performs detail-in-context presentation ofn-dimensional data through the use of a procedure wherein the data ismapped into a region in an (n+1) dimensional space, manipulated throughperspective projections in the (n+1) dimensional space, and then finallytransformed back into n-dimensional space for presentation. EPS hasnumerous advantages over conventional zoom, pan, and scrolltechnologies, including the capability of preserving the visibility ofinformation outside 234 the local region of interest 233.

For example, and referring to FIGS. 1 and 2, in two dimensions, EPS canbe implemented through the projection of an image onto a reference plane201 in the following manner. The source image or representation islocated on a basal plane 210, and those regions of interest 233 of theimage for which magnification is desired are elevated so as to move themcloser to a reference plane situated between the reference viewpoint 240and the reference view plane 201. Magnification of the focal region 233closest to the RVP 201 varies inversely with distance from the RVP 201.As shown in FIGS. 1 and 2, compression of regions 234 outside the focalregion 233 is a function of both distance from the RVP 201, and thegradient of the function describing the vertical distance from the RVP201 with respect to horizontal distance from the focal region 233. Theresultant combination of magnification 233 and compression 234 of theimage as seen from the reference viewpoint 240 results in a lens-likeeffect similar to that of a magnifying glass applied to the image.Hence, the various functions used to vary the magnification andcompression of the source image via vertical displacement from the basalplane 210 are described as lenses, lens types, or lens functions. Lensfunctions that describe basic lens types with point and circular focalregions, as well as certain more complex lenses and advancedcapabilities such as folding, have previously been described byCarpendale.

System.

FIG. 3 is a block diagram of a data processing system 300 adapted toimplement an embodiment of the invention. The data processing system issuitable for implementing EPS technology, for displayingdetail-in-context presentations of representations, and for croppingrepresentations in conjunction with a detail-in-context graphical userinterface (“GUI”) 400, as described below. The data processing system300 includes an input device 310, a central processing unit or CPU 320,memory 330, and a display 340. The input device 310 may include akeyboard, mouse, trackball, or similar device. The CPU 320 may includededicated coprocessors and memory devices. The memory 330 may includeRAM, ROM, databases, or disk devices. And, the display 340 may include acomputer screen, terminal device, or a hardcopy producing output devicesuch as a printer or plotter. The data processing system 300 has storedtherein data representing sequences of instructions which when executedcause the method described herein to be performed. Of course, the dataprocessing system 300 may contain additional software and hardware adescription of which is not necessary for understanding the invention.

GUI with Lens Control Elements.

As mentioned, detail-in-context presentations of data using techniquessuch as pliable surfaces, as described by Carpendale, are useful inpresenting large amounts of information on limited-size displaysurfaces. Detail-in-context views allow magnification of a particularregion-of-interest (the “focal region”) 233 in a data presentation whilepreserving visibility of the surrounding information 210. In thefollowing, a GUI 400 is described having lens control elements that canbe implemented in software and applied to the cropping and measurementof representations and to the control of detail-in-context datapresentations. The software can be loaded into and run by the dataprocessing system 300 of FIG. 3.

FIG. 4 is a partial screen capture illustrating a GUI 400 having lenscontrol elements for user interaction with detail-in-context datapresentations in accordance with an embodiment of the invention.Detail-in-context data presentations are characterized by magnificationof areas of an image where detail is desired, in combination withcompression of a restricted range of areas of the remaining information(i.e. the context), the end result typically giving the appearance of alens having been applied to the display screen surface. This lens 410includes a “focal region”420 having high magnification, a surrounding“shoulder region” 430 where information is typically visibly compressed,and a “base” 412 surrounding the shoulder region 430 and defining theextent of the lens 410. In FIG. 4, the lens 410 is shown with a circularshaped base 412 (or outline) and with a focal region 420 lying near thecenter of the lens 410. However, the lens 410 and focal region 420 mayhave any desired shape. For example, in FIG. 5, the lenses 510, 511 havea pyramid shape with flat tops 520, 521 and trapezoidal shoulders 530,531. As mentioned above, the base of the lens 412 may be coextensivewith the focal region 420.

In general, the GUI 400 has lens control elements that, in combination,provide for the interactive control of the lens 410, 510, 511. Theeffective control of the characteristics of the lens 410 by a user (i.e.dynamic interaction with a detail-in-context lens) is advantageous. Atany given time, one or more of these lens control elements may be madevisible to the user on the display surface 340 by appearing as overlayicons on the lens 410. Interaction with each element is performed viathe motion of an input or pointing device 310 (e.g. mouse), with themotion resulting in an appropriate change in the corresponding lenscharacteristic. As will be described, selection of which lens controlelement is actively controlled by the motion of the pointing device 310at any given time is determined by the proximity of the iconrepresenting the pointing device 310 (e.g. cursor) on the displaysurface 340 to the appropriate component of the lens 410. For example,“dragging” of the pointing device at the periphery of the boundingrectangle of the lens base 412 causes a corresponding change in the sizeof the lens 410 (i.e. “resizing”). Thus, the GUI 400 provides the userwith a visual representation of which lens control element is beingadjusted through the display of one or more corresponding icons.

For ease of understanding, the following discussion will be in thecontext of using a two-dimensional pointing device 310 that is a mouse,but it will be understood that the invention may be practiced with other2-D or 3-D (or even greater numbers of dimensions) pointing devicesincluding a trackball and keyboard.

A mouse 310 controls the position of a cursor icon 401 that is displayedon the display screen 340. The cursor 401 is moved by moving the mouse310 over a flat surface, such as the top of a desk, in the desireddirection of movement of the cursor 401. Thus, the two-dimensionalmovement of the mouse 310 on the flat surface translates into acorresponding two-dimensional movement of the cursor 401 on the displayscreen 340.

A mouse 310 typically has one or more finger actuated control buttons(i.e. mouse buttons). While the mouse buttons can be used for differentfunctions such as selecting a menu option pointed at by the cursor 401,the disclosed invention may use a single mouse button to “select” a lens410 and to trace the movement of the cursor 401 along a desired path.Specifically, to select a lens 410, the cursor 401 is first locatedwithin the extent of the lens 410. In other words, the cursor 401 is“pointed” at the lens 410. Next, the mouse button is depressed andreleased. That is, the mouse button is “clicked”. Selection is thus apoint and click operation. To trace the movement of the cursor 401, thecursor 401 is located at the desired starting location, the mouse buttonis depressed to signal the computer 320 to activate a lens controlelement, and the mouse 310 is moved while maintaining the buttondepressed. After the desired path has been traced, the mouse button isreleased. This procedure is often referred to as “clicking” and“dragging” (i.e. a click and drag operation). It will be understood thata predetermined key on a keyboard 310 could also be used to activate amouse click or drag. In the following, the term “clicking” will refer tothe depression of a mouse button indicating a selection by the user andthe term “dragging” will refer to the subsequent motion of the mouse 310and cursor 401 without the release of the mouse button.

The GUI 400 may include the following lens control elements: move,pickup, resize base, resize focus, fold, magnify, and scoop. Each ofthese lens control elements has at least one lens control icon oralternate cursor icon associated with it. In general, when a lens 410 isselected by a user through a point and click operation, the followinglens control icons may be displayed over the lens 410: pickup icon 450,base outline icon 412, base bounding rectangle icon 411, focal regionbounding rectangle icon 421, handle icons 481, 482, 491, magnify slidebar icon 440, and scoop slide bar icon 540 (see FIG. 5). Typically,these icons are displayed simultaneously after selection of the lens410. In addition, when the cursor 401 is located within the extent of aselected lens 410, an alternate cursor icon 460, 470, 480, 490 may bedisplayed over the lens 410 to replace the cursor 401 or may bedisplayed in combination with the cursor 401. These lens controlelements, corresponding icons, and their effects on the characteristicsof a lens 410 are described below with reference to FIG. 4.

In general, when a lens 410 is selected by a point and click operation,bounding rectangle icons 411, 421 are displayed surrounding the base 412and focal region 420 of the selected lens 410 to indicate that the lens410 has been selected. With respect to the bounding rectangles 411, 421one might view them as glass windows enclosing the lens base 412 andfocal region 420, respectively. The bounding rectangles 411, 421 includehandle icons 481, 482, 491 allowing for direct manipulation of theenclosed base 412 and focal region 420 as will be explained below. Thus,the bounding rectangles 411, 421 not only inform the user that the lens410 has been selected, but also provide the user with indications as towhat manipulation operations might be possible for the selected lens 410though use of the displayed handles 481, 482, 491. Note that it is wellwithin the scope of the present invention to provide a bounding regionhaving a shape other than generally rectangular. Such a bounding regioncould be of any of a great number of shapes including oblong, oval,ovoid, conical, cubic, cylindrical, polyhedral, spherical, etc.

Moreover, the cursor 401 provides a visual cue indicating the nature ofan available lens control element. As such, the cursor 401 willgenerally change in form by simply pointing to a different lens controlicon 450, 412, 411, 421, 481, 482, 491, 440, 540. For example, whenresizing the base 412 of a lens 410 using a corner handle 491, thecursor 401 will change form to a resize icon 490 once it is pointed at(i.e. positioned over) the corner handle 491. The cursor 401 will remainin the form of the resize icon 490 until the cursor 401 has been movedaway from the corner handle 491.

Move.

Lateral movement of a lens 410 is provided by the move lens controlelement of the GUI 400. This functionality is accomplished by the userfirst selecting the lens 410, 510, 511 through a point and clickoperation. Then, the user points to a point within the lens 410 that isother than a point lying on a lens control icon 450, 412, 411, 421, 481,482, 491, 440, 540. When the cursor 401 is so located, a move icon 460is displayed over the lens 410 to replace the cursor 401 or may bedisplayed in combination with the cursor 401. The move icon 460 not onlyinforms the user that the lens 410 may be moved, but also provides theuser with indications as to what movement operations are possible forthe selected lens 410. For example, the move icon 460 may includearrowheads indicating up, down, left, and right motion. Next, the lens410 is moved by a click and drag operation in which the user clicks anddrags the lens 410 to the desired position on the screen 340 and thenreleases the mouse button 310. The lens 410 is locked in its newposition until a further pickup and move operation is performed.

Pickup.

Lateral movement of a lens 410 is also provided by the pickup lenscontrol element of the GUI. This functionality is accomplished by theuser first selecting the lens 410 through a point and click operation.As mentioned above, when the lens 410 is selected a pickup icon 450 isdisplayed over the lens 410 near the centre of the lens 410. Typically,the pickup icon 450 will be a crosshairs. In addition, a base outline412 is displayed over the lens 410 representing the base 412 of the lens410. The crosshairs 450 and lens outline 412 not only inform the userthat the lens has been selected, but also provides the user with anindication as to the pickup operation that is possible for the selectedlens 410. Next, the user points at the crosshairs 450 with the cursor401. Then, the lens outline 412 is moved by a click and drag operationin which the user clicks and drags the crosshairs 450 to the desiredposition on the screen 340 and then releases the mouse button 310. Thefull lens 410 is then moved to the new position and is locked thereuntil a further pickup operation is performed. In contrast to the moveoperation described above, with the pickup operation, it is the outline412 of the lens 410 that the user repositions rather than the full lens410.

Resize Base.

Resizing of the base 412 (or outline) of a lens 410 is provided by theresize base lens control element of the GUI. After the lens 410 isselected, a bounding rectangle icon 411 is displayed surrounding thebase 412. The bounding rectangle 411 includes handles 491. These handles491 can be used to stretch the base 412 taller or shorter, wider ornarrower, or proportionally larger or smaller. The corner handles 491will keep the proportions the same while changing the size. The middlehandles (not shown) will make the base 412 taller or shorter, wider ornarrower. Resizing the base 412 by the corner handles 491 will keep thebase 412 in proportion. Resizing the base 412 by the middle handles (notshown) will change the proportions of the base 412. That is, the middlehandles (not shown) change the aspect ratio of the base 412 (i.e. theratio between the height and the width of the bounding rectangle 411 ofthe base 412). When a user points at a handle 491 with the cursor 401 aresize icon 490 may be displayed over the handle 491 to replace thecursor 401 or may be displayed in combination with the cursor 401. Theresize icon 490 not only informs the user that the handle 491 may beselected, but also provides the user with indications as to the resizingoperations that are possible with the selected handle. For example, theresize icon 490 for a corner handle 491 may include arrows indicatingproportional resizing. The resize icon (not shown) for a middle handle(not shown) may include arrows indicating width resizing or heightresizing. After pointing at the desired handle 491, the user would clickand drag the handle 491 until the desired shape and size for the base412 is reached. Once the desired shape and size are reached, the userwould release the mouse button 310. The base 412 of the lens 410 is thenlocked in its new size and shape until a further base resize operationis performed.

Resize Focus.

Resizing of the focal region 420 of a lens 410 is provided by the resizefocus lens control element of the GUI. After the lens 410 is selected, abounding rectangle icon 421 is displayed surrounding the focal region420. The bounding rectangle 421 includes handles 481, 482. These handles481, 482 can be used to stretch the focal region 420 taller or shorter,wider or narrower, or proportionally larger or smaller. The cornerhandles 481 will keep the proportions the same while changing the size.The middle handles 482 will make the focal region 420 taller or shorter,wider or narrower. Resizing the focal region 420 by the corner handles481 will keep the focal region 420 in proportion. Resizing the focalregion 420 by the middle handles 482 will change the proportions of thefocal region 420. That is, the middle handles 482 change the aspectratio of the focal region 420 (i.e. the ratio between the height and thewidth of the bounding rectangle 421 of the focal region 420). When auser points at a handle 481, 482 with the cursor 401 a resize icon 480may be displayed over the handle 481, 482 to replace the cursor 401 ormay be displayed in combination with the cursor 401. The resize icon 480not only informs the user that a handle 481, 482 may be selected, butalso provides the user with indications as to the resizing operationsthat are possible with the selected handle. For example, the resize icon480 for a corner handle 481 may include arrows indicating proportionalresizing. The resize icon 480 for a middle handle 482 may include arrowsindicating width resizing or height resizing. After pointing at thedesired handle 481, 482, the user would click and drag the handle 481,482 until the desired shape and size for the focal region 420 isreached. Once the desired shape and size are reached, the user wouldrelease the mouse button 310. The focal region 420 is then locked in itsnew size and shape until a further focus resize operation is performed.

Fold.

Folding of the focal region 420 of a lens 410 is provided by the foldcontrol element of the GUI. In general, control of the degree anddirection of folding (i.e. skewing of the viewer aligned vector 231 asdescribed by Carpendale) is accomplished by a click and drag operationon a point 471, other than a handle 481, 482, on the bounding rectangle421 surrounding the focal region 420. The direction of folding isdetermined by the direction in which the point 471 is dragged. Thedegree of folding is determined by the magnitude of the translation ofthe cursor 401 during the drag. In general, the direction and degree offolding corresponds to the relative displacement of the focus 420 withrespect to the lens base 410. In other words, and referring to FIG. 2,the direction and degree of folding corresponds to the displacement ofthe point FP 233 relative to the point FPo 232, where the vector joiningthe points FPo 232 and FP 233 defines the viewer aligned vector 231. Inparticular, after the lens 410 is selected, a bounding rectangle icon421 is displayed surrounding the focal region 420. The boundingrectangle 421 includes handles 481, 482. When a user points at a point471, other than a handle 481, 482, on the bounding rectangle 421surrounding the focal region 420 with the cursor 401, a fold icon 470may be displayed over the point 471 to replace the cursor 401 or may bedisplayed in combination with the cursor 401. The fold icon 470 not onlyinforms the user that a point 471 on the bounding rectangle 421 may beselected, but also provides the user with indications as to what foldoperations are possible. For example, the fold icon 470 may includearrowheads indicating up, down, left, and right motion. By choosing apoint 471, other than a handle 481, 482, on the bounding rectangle 421 auser may control the degree and direction of folding. To control thedirection of folding, the user would click on the point 471 and drag inthe desired direction of folding. To control the degree of folding, theuser would drag to a greater or lesser degree in the desired directionof folding. Once the desired direction and degree of folding is reached,the user would release the mouse button 310. The lens 410 is then lockedwith the selected fold until a further fold operation is performed.

Magnify.

Magnification of the lens 410 is provided by the magnify lens controlelement of the GUI. After the lens 410 is selected, the magnify controlis presented to the user as a slide bar icon 440 near or adjacent to thelens 410 and typically to one side of the lens 410. Sliding the bar 441of the slide bar 440 results in a proportional change in themagnification of the lens 410. The slide bar 440 not only informs theuser that magnification of the lens 410 may be selected, but alsoprovides the user with an indication as to what level of magnificationis possible. The slide bar 440 includes a bar 441 that may be slid upand down, or left and right, to adjust and indicate the level ofmagnification. To control the level of magnification, the user wouldclick on the bar 441 of the slide bar 440 and drag in the direction ofdesired magnification level. Once the desired level of magnification isreached, the user would release the mouse button 310. The lens 410 isthen locked with the selected magnification until a furthermagnification operation is performed. In general, the focal region 420is an area of the lens 410 having constant magnification (i.e. if thefocal region is a plane). Again referring to FIGS. 1 and 2,magnification of the focal region 420, 233 varies inversely with thedistance from the focal region 420, 233 to the reference view plane(RVP) 201. Magnification of areas lying in the shoulder region 430 ofthe lens 410 also varies inversely with their distance from the RVP 201.Thus, magnification of areas lying in the shoulder region 430 will rangefrom unity at the base 412 to the level of magnification of the focalregion 420.

Scoop.

The concavity or “scoop” of the shoulder region 430 of the lens 410 isprovided by the scoop lens control element of the GUI. After the lens410 is selected, the scoop control is presented to the user as a slidebar icon 540 (see FIG. 5) near or adjacent to the lens 410, 510, 511 andtypically below the lens 410. Sliding the bar 541 of the slide bar 540results in a proportional change in the concavity or scoop of theshoulder region 430 of the lens 410. The slide bar 540 not only informsthe user that the shape of the shoulder region 430 of the lens 410 maybe selected, but also provides the user with an indication as to whatdegree of shaping is possible. The slide bar 540 includes a bar 541 thatmay be slid left and right, or up and down, to adjust and indicate thedegree of scooping. To control the degree of scooping, the user wouldclick on the bar 541 of the slide bar 540 and drag in the direction ofdesired scooping degree. Once the desired degree of scooping is reached,the user would release the mouse button 310. The lens 410 is then lockedwith the selected scoop until a further scooping operation is performed.

Icon Hiding.

Advantageously, a user may choose to hide one or more lens control icons450, 412, 411, 421, 481, 482, 491, 440, 540 shown in FIGS. 4 and 5 fromview so as not to impede the user's view of the image within the lens410. This may be helpful, for example, during a move operation. A usermay select this option through means such as a menu or lens propertydialog box.

Cropping with Multiple Detail-In-Context Lenses.

Now, in accordance with the present invention, detail-in-context dataviewing techniques are applied to the cropping and measurement ofdigital image presentations. Detail-in-context data viewing techniquesallow a user to view multiple levels of detail or resolution on onedisplay 340. The appearance of the data display or presentation is thatof one or more virtual lens showing detail 233 within the context of alarger area view 210. Using multiple lenses in detail-in-context datapresentations may be used to compare two regions of interest at the sametime. Folding enhances this comparison by allowing the user to pull theregions of interest closer together. In accordance with the presentinvention, multiple detail-in-context lenses may be used to accuratelycrop digital images.

FIG. 5 is a screen capture illustrating a presentation 500 having twodetail-in-context lenses 510, 511 and associated GUIs 501, 502 fordefining the corners of a bounding rectangle GUI for cropping anoriginal digital image or representation in accordance with anembodiment of the invention. In FIG. 5, the original image to be croppedis a map of North America. In order to produce a cropped image showingthat portion of the United States from Washington State to Florida, forexample, a user defines a first lens 510 over Washington State using afirst GUI 501 and a second lens 511 over Florida using a second GUI 502.The lenses 510, 511 may be introduced to the original image to form theillustrated presentation through the use of a pull-down menu selection,tool bar icon, etc. The lenses 510, 511 are positioned at what will bethe top left and bottom right corners of a bounding rectangle that willbe used to define the cropped image. Using lens control elements foreach GUI 501, 502, such as move, pickup, resize base, resize focus,fold, and magnify as described above, the user adjusts each lens 510,511 to accurately select a point or corner for the creation of abounding rectangle for cropping. Each selected point may be indicated onin the presentation with a crosshairs icon 450, for example. Using themagnify lens control element, for example, the user may magnify thefocal region 520, 521 of each lens 510, 511 to pixel quality resolutionmaking it easy to view, for example, the point where the boarders ofWashington State and Canada meet in the first lens 510 and the pointwhere land ends at the coast of Florida in the second lens 511.

FIG. 6 is a screen capture illustrating a presentation 600 havingdetail-in-context lenses 510, 511, associated GUIs 501, 502, and abounding rectangle GUI or icon 610 for cropping an original digitalimage or representation to produce a cropped image 640 in accordancewith an embodiment of the invention. Once the lenses 510, 511 are inplace, the user may use an existing tool to crop the presentation 600 toproduce a cropped image 640. In FIG. 6, the user has defined an areawith a bounding rectangle GUI 610. The bounding rectangle GUI 610,defining an area for the cropped image 640, may also be displaced ordistorted by the lenses 510, 511, however, in FIG. 6, this is not shown.The resultant cropped image 640 may be presented with or without lensdistortions 510, 511.

In operation, the data processing system 300 employs EPS techniques withan input device 310 and GUIs 501, 502, 610 for selecting points 620, 630to define a cropped image 640 for display to a user on a display screen340. Data representing an original image or representation is receivedby the CPU 320 of the data processing system 300. Using EPS techniques,the CPU 320 processes the data in accordance with instructions receivedfrom the user via an input device 310 and GUIs 501, 502 to produce adetail-in-context presentation 500. The presentation 500 is presented tothe user on a display screen 340. It will be understood that the CPU 320may apply a transformation to the shoulder regions 530, 531 surroundingthe regions-of-interest 520, 521 to affect blending or folding inaccordance with EPS technology. For example, the transformation may mapthe regions-of-interest 520, 521 and/or shoulder regions 530, 531 to apredefined lens surface, defined by a transformation or distortionfunction and having a variety of shapes, using EPS techniques. Or, thelens 510, 511 may be simply coextensive with the regions-of-interest520, 521. Blending and folding of lenses in detail-in-contextpresentations are described in United States Patent ApplicationPublication No. 2002/0044154 which is incorporated herein by reference.

The lens control elements of the GUIs 501, 502 are adjusted by the uservia an input device 310 to control the characteristics of the lenses510, 511 in the detail-in-context presentation 500. Using an inputdevice 310 such as a mouse, a user adjusts parameters of the lens 510,511 using icons and scroll bars of GUIs 501, 502 that are displayed overthe lens on the display screen 340. The user may also adjust parametersof the image of the full scene 500. Signals representing input device310 movements and selections are transmitted to the CPU 320 of the dataprocessing system 300 where they are translated into instructions forlens control.

The bounding rectangle GUI 610 indicates the selected area for thecropped image 640. By moving the lenses 510, 511 on the display screen310 with the lens GUIs 501, 502, the user can change the location of thecorners 620, 630 (or regions-of-interest 520, 521) in the presentation600. Of course, it is possible to use non-rectangular bounding GUIs forcropping. The bounding rectangle GUI 610 may be presented automaticallyupon placement of the lenses 510, 511 or its presentation may beselected using a pull-down menu selection, tool bar, crop icon, etc.

Observing the area enclosed by the bounding rectangle GUI 610, the usercan decide whether or not the currently cropped image 640 accuratelycaptures the desired area of the presentation 600. If the user issatisfied with the cropped image 640, the user may select the croppedimage 640 by double clicking within the bounding rectangle GUI 610 orwith a pull-down menu selection, crop icon, crop button, etc. Thecurrent cropped image 640 is thus selected for further processing, suchas inclusion into a document being concurrently displayed in anotherwindow or replacement of the original presentation with the croppedimage 640. Clicking on one of the corners 620, 630 will select thecorresponding lens 510, 511 and GUI 501, 502 for adjustment. If the useris dissatisfied with the current cropped image 640, then the doubleclicking operation is avoided and instead a corner 620, 630 of thebounding rectangle GUI 610 can be moved to show a different croppedimage 640.

Advantageously, by using detail-in-context lenses 510, 511 to selectpoints 620, 630 defining an area for a cropped image 640, a user canview a large area 600 (i.e. outside the lenses 510, 511) while focusingin on smaller areas 520, 521 (i.e. inside the focal regions 520, 521 ofthe lenses 510, 511) surrounding the selected points 620, 630. Thismakes it possible for a user to perform accurate cropping without losingvisibility or context of the portion of the original image surroundingthe cropped area 640.

In the above embodiment, two lenses 510, 511 are added to thepresentation 500 before the bounding rectangle GUI 610 is activated.However, according to another embodiment, the lenses 510, 511 andbounding rectangle GUI 610 can be combined. That is, the user may firstadd a lens 510 to a presentation 500 or the user may move a pre-existinglens into place at, say, the top left corner point 620 in FIG. 6. Atthis stage, before the second point 630 is selected, the boundingrectangle GUI 610 is activated. Now, to select the second point 630, thebottom right corner 650 of the bounding rectangle GUI 610 is moved (e.g.with a click and drag operation) by the user. As the bottom right corner650 of the bounding rectangle GUI 610 is dragged, the second lens 511 ispresented over and moves with the corner 650. This facilitates theaccurate selection of the second point 630 for defining the croppedimage 640.

In more detail, to select corner points 620, 630, the user first movesthe mouse 310 to position a cursor 401 and depresses a mouse pushbuttonto designate the first point or corner 620 of the desired cropped image640. A first lens 510 is presented at this point. The location 620 ofthis first lens 510 or its characteristics may be adjusted as describedabove. The bounding rectangle GUI 610 is now activated by selecting froma pull-down menu for example. The first lens 510 is clicked and draggedto present the bounding rectangle GUI 610. As the mouse 310 is moved bythe user to re-position the cursor 401 during the click and dragoperation, the cursor's new position on the display 340 defines thesecond point or corner 630 diagonally opposite the first corner 620. Thesecond lens 511 is presented over the second corner 630 during the clickand draft operation. While the mouse 310 is moved with its pushbuttondepressed (i.e. during the click and drag operation), a sequentiallyvarying bounding rectangle GUI 610 for the potential cropped image 640is displayed. If the user is satisfied with the cropped image 640, theuser releases the mouse pushbutton to complete the click and dragoperation. The user is then presented with a bounding rectangle GUI 610with lens 510, 511 at opposite corners 620, 630. The user may thenchoose to complete the crop as described above (e.g. by double clickingwithin the bounding rectangle GUI 610).

As mentioned above, the bounding rectangle GUI 610 may have a shapeother than rectangular. According to another embodiment, a polygonalshaped bounding GUI may be defined with three or more lens. In thiscase, the outline of the bounding GUI may pass through each lens. As thepolygonal shape is drawn, say through an activation step, followed by apoint and click to locate the first point, a series of click and dragoperations to chose each subsequent point of the polygon, and endingwith a double click operation, a lens is placed at each selected pointor corner. Alternatively, between each click and drag operation when thecrop line is being repositioned by the user via cursor and mouse, a lensmay be presented over the end of the crop line (i.e. over the cursor'sposition). In other words, the end of the crop line is attached to alens that moves with the crop line end as it is repositioned by a user.A lens may be left at each point or corner of the bounding polygon GUIwith this alternative as well.

According to another embodiment of the invention, once a boundingrectangle or bounding polygon GUI has been established, a lens may bemoved along the path of the bounding rectangle or polygon to allow auser to inspect the entire perimeter of the bounding rectangle orpolygon. This is advantageous as the user may accurately select allpoints along the perimeter of the bounding rectangle or polygon ratherthat just corners or line segment end points. In so doing, a moreaccurate cropped image 640 may be produced.

Measuring with Multiple Detail-In-Context Lenses.

In addition to performing cropping operations, measuring distancesbetween points in a presentation can be performed with greater accuracyby using detail-in-context lenses. FIG. 7 is a screen captureillustrating a presentation 700 having detail-in-context lenses 710, 711and associated GUIs 701, 702 for selecting points between which tomeasure in an original digital image or representation in accordancewith an embodiment of the invention. To make a measurement between twopoints in an original digital image, a user first adds detail-in-contextlenses 710, 711 to the original image to create a detail-in-contextpresentation 700. The lens 710, 711 enable the user to view highresolution data in the focus of each lens. The lenses are positionedover selected points 750, 760 and configured as described above. To aidthe user in placing the lenses 710, 711, a scale icon 720 may beincluded in the presentation 700. FIG. 8 is a screen captureillustrating a presentation 800 having two detail-in-context lenses 710,711, associated GUIs 701, 702, and a measuring tool GUI 810, 820 fordisplaying the measurement between selected points 750, 760 in anoriginal digital image or representation in accordance with anembodiment of the invention. After selecting points 750, 760. the usermay select a measuring tool to determine the distance between the points750, 760. The measuring tool may be selected using a pull-down menuselection, tool bar, etc. In FIGS. 7 and 8, the points 750, 760 havebeen selected at the towns of Terrace and Victoria, British Columbia,respectively. The measuring tool may present a measuring tool GUI whichmay include a measured value icon 820 for displaying the measured valueor distance between the selected points 750, 760 and a line segment icon810 for displaying the measurement path between the selected points 750,760 to a user. Advantageously, because the selected points 750, 760 arecontained within the focal region of each lens 710, 711 which may bedisplayed at a higher resolution that the surrounding presentation 800,the measured value may be determined more accurately. In FIG. 8, thedistance between Terrace and Victoria has a measure value 820 of 734,771 meters.

In the above embodiment, two lenses 710, 711 are added to thepresentation 700, 800 before the measuring tool GUI 810, 820 isactivated. However, according to another embodiment, the lenses 710, 711and measuring tool GUI 810, 820 can be combined. That is, the user mayfirst add a lens 710 to a presentation 800 or the user may move apre-existing lens into place at, say, the Terrace point 750 in FIG. 8.At this stage, before the Victoria point 760 is selected, the measuringtool GUI 810, 820 is activated. Now, to select the second point 763, theend point 830 of the line segment icon 810 (i.e. the point over thecursor's position) is moved (e.g. with a click and drag operation) bythe user. As the end point 830 of the line segment icon 810 is dragged,the second lens 711 is presented over and moves with the end point 830.This facilitates the accurate selection of the second point 760 fordefining the distance to be measured (i.e. the line segment betweenpoints 750, 760). In addition, at the end of every intermediate linesegment, a new lens may be added to the presentation.

Cropping with a Single Detail-In-Context Lens.

Above methods for cropping and measuring an original image are describedin which multiple lenses are used. In the following, embodiments forcropping and measuring using a single lens are described. The lens maybe a carrier for the cropping or measurement tool, or the lens may bethe tool itself. In both the single lens and multiple lensesembodiments, accuracy of cropping and measurement is improved.

FIG. 9 is a screen capture illustrating a presentation 900 having asingle detail-in-context lens 910 and associated GUI 901 for definingthe corners of a bounding rectangle GUI for cropping an original digitalimage or representation in accordance with an embodiment of theinvention. To aid the user in placing the lens 910, a scale icon 940 maybe included in the presentation 900. To crop the original image, theuser first selects the cropping tool (which is associated with a lens910) using a pull-down menu selection, tool bar, etc., and then selectsa starting or first point 920 using a point and click operation. Thisplaces a lens 910 and an associated GUI 901 over the first point 920.Next, the user drags the lens 910 to the second point 930 to completethe definition of the bounding rectangle GUI or icon 1010 an hencedefine the cropped image 1040 as is shown in FIG. 10. FIG. 10 is ascreen capture illustrating a presentation 1000 having a singledetail-in-context lens 910, an associated GUI 901, and a boundingrectangle GUI or icon 1010 for cropping an original digital image orrepresentation to produce a cropped image 1040 in accordance with anembodiment of the invention. The bounding rectangle GUI 1010 may bedynamically presented as the lens 910 is dragged diagonally from thefirst point 920 to the second point 930. The bounding rectangle GUI 1010defines the area of the cropped image 1040.

Thus, for example, the bounding rectangle GUI 1010 may be drawn by firstactivating the tool (e.g. tool bar, etc.), followed by a point and clickoperation to locate the first point or corner 920, while maintaining adepressed mouse selection button, a drag operation during which the lens910 is presented over the end of the crop line 950 (i.e. over thecursor's position, that is, the end of the crop line 950 is attached tothe lens 910 which moves with the crop line end 950 as it isrepositioned by a user), and a mouse selection button release to selectthe second point or corner 930. During this process, the boundingrectangle GUI 1010 is dynamically presented as the end of the crop line950 is moved by the user.

The bounding rectangle GUI 1010 may have a shape other than rectangular.According to another embodiment, a polygonal shaped bounding GUI may bedefined with three or more lens. In this case, the outline of thebounding GUI may pass through each lens. The polygonal shaped boundingGUI may be drawn, say, through an activation step, followed by a pointand click to locate the first point, a series of click and dragoperations to chose each subsequent point of the polygon, and endingwith a double click operation that leaves a lens placed over the lastselected point or corner. Between each click and drag operation when thecrop line is being repositioned by the user via cursor and mouse, a lensmay be presented over the end of the crop line (i.e. over the cursor'sposition). In other words, the end of the crop line is attached to alens that moves with the crop line end as it is repositioned by a user.

According to another embodiment, when the cropping tool is activated(e.g. by a drop-down menu selection, tool bar, etc.) and when thestandard cursor 401 is located within the presentation 900, 1000, analternate cursor icon may be displayed over the presentation 900, 1000to replace the cursor 401 or may be displayed in combination with thecursor 401. The alternate cursor icon may be a lens 910, a croppingcursor icon (not shown), or a combination lens 910 and cropping cursoricon.

Measuring with a Single Detail-In-Context Lens.

FIG. 11A is a screen capture illustrating a presentation 1100 having asingle detail-in-context lens 1110 and an associated GUI 1101 forselecting points between which to measure in an original digital imageor representation in accordance with an embodiment of the invention.FIG. 11B is a screen capture illustrating a presentation 1100 having asingle detail-in-context lens 1110, an associated GUI 1101, and ameasuring tool GUI 1140, 1141, for displaying the measurement betweenselected points 1120, 1130 in an original digital image orrepresentation in accordance with an embodiment of the invention. And,FIG. 11C is a screen capture illustrating a presentation 1100 having asingle detail-in-context lens 1110, an associated GUI 1101, and ameasuring tool GUI 1140, 1142, 1142, 1143 for displaying the measurementbetween selected points 1120, 1130, 1160 in an original digital image orrepresentation in accordance with an embodiment of the invention.

To make a measurement in the original image 1100, the user first selectsthe measuring tool (which is associated with a lens 1110) using apull-down menu selection, tool bar, etc., and then selects a starting orfirst point 1120 using a point and click operation. This places a lens1110 and an associated GUI 1101 over the first point 1120 as shown inFIG. 11A. A measuring tool icon 1180 may also be displayed over thefirst point 1120 as mentioned above. The lens 1110 enables the user toview high resolution data in its focus. Next, the user drags the lens1110 to select a second point 1130 for the measurement as shown in FIG.11B. The measuring tool may present a measuring tool GUI which mayinclude a measured value icon 1141 for displaying the measured value ordistance between the selected points 1120, 1130 and a line segment icon1140 for displaying the measurement path between the selected points1120, 1130 as shown in FIG. 11B. The measuring tool GUI 1140, 1141 maybe dynamically presented as the lens 1110 is dragged from the firstpoint 1120 to the second point 1130.

As shown in FIGS. 11B and 11C, a user may make linked measurements inone or more operations. Linked line segment icons 1140, 1142 may bedrawn, say, through an activation step, followed by a point and click tolocate the first point 1120, a series of click and drag operations tochose each subsequent point 1130, 1160 of the linked line segment, andending with a double click operation that leaves a lens 1110 placed overthe last selected point 1160. Between each click and drag operation whenthe line segment icon 1140, 1142 is being repositioned by the user viacursor and mouse, a lens 1110 may be presented over the end of the linesegment 1150 (i.e. over the cursor's position). In other words, the endof the line segment 1150 is attached to a lens 1110 that moves with theend of the line segment 1150 as it is repositioned by a user.

To aid the user in placing the lens 1110, a scale icon 1170 may beincluded in the presentation 1100. In addition, when the measuring toolis activated (e.g. by a drop-down menu selection, tool bar, etc.) andwhen the standard cursor 401 is located within the presentation 1100, analternate cursor icon may be displayed over the presentation 1100 toreplace the cursor 401 or may be displayed in combination with thecursor 401. The alternate cursor icon may be a lens 1110, a measuringcursor icon 1180, or a combination lens 1110 and measuring cursor icon1180. Moreover, as shown in FIG. 11B, the line segment icon 1140 may bepresented as an exclusive OR (XOR) with the underlying portion of theoriginal or background image 1100.

Method.

FIG. 12 is a flow chart 1200 illustrating a method for cropping acomputer generated original image on a display 340 in accordance with anembodiment of the invention. At step 1201, the method starts.

At step 1202, a user-selected movable boundary 610, 1010 on the originalimage is adjusted to define a cropped image 640, 1040 within theboundary, the boundary being defined by two or more points 620, 630,920, 930 on the original image.

At step 1203, a lens surface 510, 511, 910 is created for one or more ofthe regions surrounding the points 620, 630, 920, 930.

At step 1204, a GUI 501, 502, 901 is displayed over one or more of theregions for adjusting the lens surface 510, 511, 910.

At step 1205, the original image is transformed by applying a distortionfunction defining the lens surface to the original image.

At step 1206, the original image is distorted 500, 600, 900, 1000 inregions surrounding the points, whereby the boundary 610, 1010 isaccurately positioned for cropping.

At step 1207, the method ends.

FIG. 13 is a flow chart 1300 illustrating a method for measuring withina computer generated original image on a display 340 in accordance withan embodiment of the invention. At step 1301, the method starts.

At step 1302, a user-selected movable line segment 810, 1140, 1142 onthe original image is adjusted to define points 750, 760, 1120, 1130,1160 on the original image for measuring between.

At step 1303, a lens surface 710, 711, 1110 is created for one or moreof the regions surrounding the points 750, 760, 1120, 1130, 1160 .

At step 1304, a GUI 701, 702, 1101 is displayed over one or more of theregions for adjusting the lens surface 710, 711, 1110.

At step 1305, the original image is transformed by applying a distortionfunction defining the lens surface to the original image.

At step 1306, the original image is distorted 700, 800, 1100 in regionssurrounding the points, whereby the points 750, 760, 1120, 1130, 1160are accurately positioned for measuring.

At step 1307, the method ends.

Data Carrier Product.

The sequences of instructions which when executed cause the methoddescribed herein to be performed by the exemplary data processing systemof FIG. 3 can be contained in a data carrier product according to oneembodiment of the invention. This data carrier product can be loadedinto and run by the exemplary data processing system of FIG. 3.

Computer Software Product.

The sequences of instructions which when executed cause the methoddescribed herein to be performed by the exemplary data processing systemof FIG. 3 can be contained in a computer software product according toone embodiment of the invention. This computer software product can beloaded into and run by the exemplary data processing system of FIG. 3.

Integrated Circuit Product.

The sequences of instructions which when executed cause the methoddescribed herein to be performed by the exemplary data processing systemof FIG. 3 can be contained in an integrated circuit product including acoprocessor or memory according to one embodiment of the invention. Thisintegrated circuit product can be installed in the exemplary dataprocessing system of FIG. 3.

Although preferred embodiments of the invention have been describedherein, it will be understood by those skilled in. the art thatvariations may be made thereto without departing from the spirit of theinvention or the scope of the appended claims.

1. A system for cropping an original image presented on a display,comprising: a processor coupled to memory and the display; and, moduleswithin the memory and executed by the processor, the modules including:a module for receiving one or more signals for adjusting a boundary onthe original image to define a cropped image within the boundary, theboundary defined by two or more points on the original image; a modulefor distorting the original image in regions surrounding the points byapplying a lens to one or more of the regions, whereby the boundary isaccurately positioned for cropping; and, a module for displaying agraphical user interface (“GUI”) over one or more of the regions foradjusting the lens, wherein the lens includes a focal region and a baseregion.
 2. The system of claim 1 wherein the focal region has amagnification which varies across the base region to provide acontinuous transition from the focal region to the original image. 3.The system of claim 2 wherein the focal region has a size and a shapeand further comprising a module for receiving one or more signals foradjusting at least one of the size, the shape, and the magnification ofthe focal region.
 4. The system of claim 3 wherein the one or moresignals are received through the GUI.
 5. The system of claim 4 whereinthe GUI has means for adjusting at least one of the size, the shape, andthe magnification of the focal region.
 6. The system of claim 5 whereinat least some of the means are icons.
 7. The system of claim 5 whereinthe means for adjusting the size and the shape is at least one handleicon positioned on a perimeter of the focal region.
 8. The system ofclaim 5 wherein the means for adjusting the magnification is a slide baricon.
 9. The system of claim 2 wherein the base region has a size and ashape and further comprising a module for receiving one or more signalsthrough the GUI for adjusting at least one of the size and the shape ofthe base region, wherein the GUI has one or more handle icons positionedon a perimeter of the base region for adjusting at least one of the sizeand the shape of the base region.
 10. The system of claim 1 wherein theGUI includes at least one of: a slide bar icon for adjusting amagnification for the lens; a slide bar icon for adjusting a degree ofscooping for the lens; a bounding rectangle icon with at least onehandle icon for adjusting a size and a shape for the focal region; abounding rectangle icon with at least one handle icon for adjusting asize and a shape for the base region; a move icon for adjusting alocation for the lens on the boundary; a pickup icon for adjusting alocation for the base region within the original image; and, a fold iconfor adjusting a location for the focal region relative to the baseregion.
 11. The system of claim 1 and further comprising an input devicecoupled to the processor for generating the one or more signals, theinput device for manipulation by a user to move a cursor on the display.12. The system of claim 1 wherein the boundary is a polygon.
 13. Thesystem of claim 1 wherein the original image has one or more layers. 14.The system of claim 13 wherein the regions have a predeterminedselection of the layers.
 15. The system of claim 13 wherein the croppedimage has a predetermined selection of the layers.
 16. A system formeasuring within an original image presented on a display, comprising: aprocessor coupled to memory and the display; and, modules within thememory and executed by the processor, the modules including: a modulefor receiving one or more signals for adjusting a line segment on theoriginal image to define points on the original image for measuringbetween; a module for distorting the original image in regionssurrounding the points by applying a lens to one or more of the regions,whereby the points are accurately positioned for measuring; and, amodule for displaying a graphical user interface (“GUI”) over one ormore of the regions for adjusting the lens, wherein the lens includes afocal region and a base region.
 17. The system of claim 16 wherein thefocal region has a magnification which varies across the base region toprovide a continuous transition from the focal region to the originalimage.
 18. The system of claim 17 wherein the focal region has a sizeand a shape and further comprising a module for receiving one or moresignals for adjusting at least one of the size, the shape, and themagnification of the focal region.
 19. The system of claim 18 whereinthe one or more signals are received through the GUI.
 20. The system ofclaim 19 wherein the GUI has means for adjusting at least one of thesize, the shape, and the magnification of the focal region.
 21. Thesystem of claim 20 wherein at least some of the means are icons.
 22. Thesystem of claim 20 wherein the means for adjusting the size and theshape is at least one handle icon positioned on a perimeter of the focalregion.
 23. The system of claim 20 wherein the means for adjusting themagnification is a slide bar icon.
 24. The system of claim 17 whereinthe base region has a size and a shape and further comprising a modulefor receiving one or more signals through the GUI for adjusting at leastone of the size and the shape of the base region, wherein the GUI hasone or more handle icons positioned on a perimeter of the base regionfor adjusting at least one of the size and the shape of the base region.25. The system of claim 16 wherein the GUI includes at least one of: aslide bar icon for adjusting a magnification for the lens; a slide baricon for adjusting a degree of scooping for the lens; a boundingrectangle icon with at least one handle icon for adjusting a size and ashape for the focal region; a bounding rectangle icon with at least onehandle icon for adjusting a size and a shape for the base region; a moveicon for adjusting a location for the lens on the line segment; a pickupicon for adjusting a location for the base region within the originalimage; and, a fold icon for adjusting a location for the focal regionrelative to the base region.
 26. The system of claim 16 and furthercomprising an input device coupled to the processor for generating theone or more signals, the input device for manipulation by a user to movea cursor on the display.
 27. The system of claim 16 wherein the linesegment is a straight line.
 28. A system for cropping an original imagepresented on a display, comprising: a processor coupled to memory andthe display; and, modules within the memory and executed by theprocessor, the modules including: a module for receiving one or moresignals for adjusting a boundary on the original image to define acropped image within the boundary, the boundary defined by two or morepoints on the original image; and, a module for distorting the originalimage in respective regions surrounding the points to produce adistorted image by displacing the original image onto a lens for eachregion and perspectively projecting the displacing onto a plane in adirection aligned with a viewpoint for the region, whereby the boundaryis accurately positioned for cropping.
 29. The system of claim 28wherein the module for distorting further includes a module fordisplaying the boundary over the distorted image on the display.
 30. Thesystem of claim 29 and further comprising a module for displaying agraphical user interface (“GUI”) over one or more of the regions foradjusting the lens.
 31. The system of claim 30 wherein the lens includesa focal region for one of the points at least partially surrounded by abase region, the lens having a magnification, the magnification beinguniform in the focal region and varying in the base region such that thelens is continuous from regions outside the lens through the base regionto the focal region, and the GUI includes at least one of: a slide baricon for adjusting the magnification for the lens; a slide bar icon foradjusting a degree of scooping for the lens; a bounding rectangle iconwith at least one handle icon for adjusting a size and a shape for thefocal region; a bounding rectangle icon with at least one handle iconfor adjusting a size and a shape for the base region; a move icon foradjusting a location for the lens on the boundary; a pickup icon foradjusting a location for the base region within the original image; and,a fold icon for adjusting a location for the focal region relative tothe base region.
 32. A system for measuring within an original imagepresented on a display, comprising: a processor coupled to memory andthe display; and, modules within the memory and executed by theprocessor, the modules including: a module for receiving one or moresignals for adjusting a line segment on the original image to definepoints on the original image for measuring between; and, a module fordistorting the original image in respective regions surrounding thepoints to produce a distorted image by displacing the original imageonto a lens for each region and perspectively projecting the displacingonto a plane in a direction aligned with a viewpoint for the region,whereby the points are accurately positioned for measuring.
 33. Thesystem of claim 32 wherein the module for distorting further includes amodule for displaying the line segment over the distorted image on thedisplay.
 34. The system of claim 33 and further comprising a module fordisplaying a graphical user interface (“GUI”) over one or more of theregions for adjusting the lens.
 35. The system of claim 34 wherein thelens includes a focal region for one of the points at least partiallysurrounded by a base region, the lens having a magnification, themagnification being uniform in the focal region and varying in the baseregion such that the lens is continuous from regions outside the lensthrough the base region to the focal region, and the GUI includes atleast one of: a slide bar icon for adjusting the magnification for thelens; a slide bar icon for adjusting a degree of scooping for the lens;a bounding rectangle icon with at least one handle icon for adjusting asize and a shape for the focal region; a bounding rectangle icon with atleast one handle icon for adjusting a size and a shape for the baseregion; a move icon for adjusting a location for the lens on the linesegment; a pickup icon for adjusting a location for the base regionwithin the original image; and, a fold icon for adjusting a location forthe focal region relative to the base region.